package com.yeqian.service;

import com.yeqian.entity.PageResult;
import com.yeqian.entity.QueryPageBean;
import com.yeqian.pojo.Comment;

import java.util.Date;
import java.util.List;

/**
 * @Author : yeqian
 * @Date : 2021/1/7 21:16
 * 评论服务接口
 */
public interface CommentService {

    /**
     * 获取每月的评论数
     *
     * @param month
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/17 12:18
     */
    Integer getCommentCountByMonth(Date month);

    /**
     * 查询所有的评论数
     *
     * @param
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/10 10:22
     */
    Integer getCommentCount(Integer authorId);

    /**
     * 查询未读评论
     *
     * @param author
     * @return java.lang.Integer
     * @author yeqian
     * @date 2021/1/9 11:48
     */
    Integer getUnreadByauthor(Integer author);

    /**
     * 展示文章对应的评论的回复
     *
     * @param commentId
     * @return java.util.List<com.yeqian.pojo.Comment>
     * @author yeqian
     * @date 2021/1/8 17:19
     */
    List<Comment> getCommentReplyByCommentId(Integer commentId);

    /**
     * 根据文章id查询对应的所有评论
     *
     * @param id
     * @return java.util.List<com.yeqian.pojo.Comment>
     * @author yeqian
     * @date 2021/1/8 14:00
     */
    List<Comment> getCommentByArticleId(Integer id);

    /**
     * 查询评论
     *
     * @param id
     * @return com.yeqian.pojo.Comment
     * @author yeqian
     * @date 2021/1/7 22:51
     */
    Comment getComment(Integer id);

    /**
     * 评论分页
     *
     * @param queryPageBean
     * @return com.yeqian.entity.PageResult
     * @author yeqian
     * @date 2021/1/7 22:20
     */
    PageResult listPageQuery(QueryPageBean queryPageBean);

    /**
     * 删除评论
     *
     * @param conmentId
     * @return void
     * @author yeqian
     * @date 2021/1/7 22:13
     */
    void deleteConment(Integer conmentId);

    /**
     * 新增评论/回复
     *
     * @param comment
     * @return void
     * @author yeqian
     * @date 2021/1/7 21:26
     */
    void saveComment(Comment comment);

}
